package com.ruoyi.common.utils.wx;

import io.jsonwebtoken.Claims;
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;
import java.util.Date;

public class TokenUtils {

    // 定义密钥，用于签名和验证JWT
    private static final String SECRET_KEY = "your_secret_key";

    // 创建Token的方法，参数是用户名
    public static String createToken(String username) {
        // Token的过期时间，这里设置为1小时（单位：毫秒）
        long expirationTime = 1000 * 60 * 60;

        // 使用Jwts构建器生成Token
        return Jwts.builder()
                .setSubject(username) // 设置主题，通常是用户的唯一标识
                .setIssuedAt(new Date()) // 设置Token的发行时间
                .setExpiration(new Date(System.currentTimeMillis() + expirationTime)) // 设置Token的过期时间
                .signWith(SignatureAlgorithm.HS256, SECRET_KEY) // 设置签名算法和密钥
                .compact(); // 构建JWT并将其压缩为一个安全的URL字符串
    }

}

